{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from PIL import Image\n",
    "import numpy as np\n",
    "class Reader:\n",
    "    def __init__(self,path=\"ocrdata/inputdata.png\") -> None:\n",
    "        self.path=path\n",
    "        self.img=Image.open(path)\n",
    "        #二值化\n",
    "        self.bin=np.where(np.mean(self.img,-1)[...,:] < 130, 0, 255) \n",
    "    def split_simple(self):\n",
    "        #行分割\n",
    "        begin=0\n",
    "        lines=[]\n",
    "        for i in np.where(~self.bin.any(axis=1))[0]:\n",
    "            if i==begin+1:#处理连续\n",
    "                begin=i\n",
    "                continue\n",
    "            if i-begin>6:\n",
    "                lines.append(self.bin[begin+1:i])\n",
    "            begin=i\n",
    "        #从左到右扫描，临近列比较\n",
    "        cols=[]\n",
    "        for line in lines:\n",
    "            pre=line[:,0]\n",
    "            begin=1\n",
    "            col=[]\n",
    "            for i in range(1,len(line[0])):\n",
    "                j=line[:,i]\n",
    "                if (j==0).all() or not ((pre+j)>255).any():#是分割点(全0或者与前一行无重叠)\n",
    "                    if (i-begin>5):#是字符\n",
    "                        col.append(line[:,begin:i])\n",
    "                    begin=i\n",
    "                pre=j\n",
    "            cols.append(col)\n",
    "        return cols\n",
    "class Ocr(Reader):\n",
    "    def __init__(self, path=\"ocrdata/inputdata.png\") -> None:\n",
    "        super().__init__(path=path)\n",
    "all=Reader()\n",
    "read=Reader(\"ocrdata/test.png\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def showall_withSlider(datas,texts):\n",
    "    #显示结果集\n",
    "    %matplotlib notebook\n",
    "    # %matplotlib inline\n",
    "    fig, ax = plt.subplots()\n",
    "    # fig.canvas.set_window_title('I am title')\n",
    "    fig.subplots_adjust(bottom=0.15)\n",
    "\n",
    "    # 初始化\n",
    "    def getTitle():\n",
    "        index=int(slider_depth.val)-1\n",
    "        if index<len(texts):\n",
    "            return texts[index]\n",
    "        return \"未定义\"\n",
    "    ax.set_title(texts[0])\n",
    "    im_h = ax.imshow(datas[0], cmap='hot', interpolation='nearest')\n",
    "\n",
    "    slider_depth = plt.Slider(plt.axes([0.23, 0.02, 0.56, 0.04]), '训练集向量(拖动)', 1, len(datas), valinit=1,valstep=1)\n",
    "\n",
    "    slider_depth.on_changed(lambda val: [im_h.set_data(datas[int(slider_depth.val)-1,:, :]),ax.set_title(getTitle())])\n",
    "\n",
    "    fig.show()\n",
    "def showall(datas,max=3):\n",
    "    %matplotlib inline\n",
    "    line=len(datas)//max\n",
    "    _, axs = plt.subplots(line,max)\n",
    "    for ax,data in zip(axs.flatten(),datas):\n",
    "        ax.imshow(data)\n",
    "#垂直投影\n",
    "def verticalProjection(data,figsize=None):\n",
    "    fig,(ax1,ax2)=plt.subplots(2,1,figsize=figsize)\n",
    "    ax1.imshow(data)\n",
    "    ax2.imshow(np.sort(data,0))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# split_simple 简单分割实验"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 原图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x23576f7d310>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.imshow(read.bin)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 行分割"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x23577029af0>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "begin=0\n",
    "line=[]\n",
    "for i in np.where(~read.bin.any(axis=1))[0]:\n",
    "    if i==begin+1:#处理连续\n",
    "        begin=i\n",
    "        continue\n",
    "    if i-begin>6:\n",
    "        line.append(read.bin[begin+1:i])\n",
    "    begin=i\n",
    "plt.imshow(line[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 列分割"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x2357709a820>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKAAAAD4CAYAAABrEu23AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAI9UlEQVR4nO3dTahc9R3G8e/Tm8Q00aqlInmjycIGpBQjwdYKLkxFW4Nx0UWEiJVCVlptCxK7ceuiiF0UIcRYwaCLKFQkNLW+0BZKyIuhmlxfQqrmatJE+qJYMAn+upgRrpfkvp2Tecac5wOSmXOHOT+SL2fO3Dn+R1VFhMtX3ANEtyXAsEqAYZUAwyoBhtWcQe5sni6o+Swc5C5jSHzMvz+sqssmbh9ogPNZyHe1ZpC7jCHxp9r+7pm25yU4rBJgWCXAsEqAYdUoQEk3S3pT0iFJm9oaKrpj1gFKGgF+C/wQuBK4XdKVbQ0W3dDkCHgNcKiqDlfVSeBpYF07Y0VXNAlwCXBk3P2x/rYvkLRR0h5Je07xaYPdxfnonL8JqarNVbW6qlbP5YJzvbv4kmkS4PvAsnH3l/a3RUxbkwB3A1dIWiFpHrAeeK6dsaIrZv1ZcFWdlnQ3sBMYAbZW1YHWJotOaHQxQlXtAHa0NEt0UD4JCasEGFYJMKwGekFqW3Z+sN89whfctPgq9whfWjkChlUCDKsEGFYJMKwSYFglwLBKgGGVAMMqAYZVAgyrBBhWCTCsEmBYJcCwSoBhlQDDKgGGVQIMqwQYVgkwrBJgWCXAsEqAYdVkid5lkl6WdFDSAUn3tjlYdEOT/zH9NPDLqton6SJgr6QXqupgS7NFB8z6CFhVR6tqX//2x8AoZ1iiN2IyrZwDSloOrAJ2tfF80R2N14aRdCHwDHBfVX10hp9vBDYCzGdB093FeabpF9XMpRfftqp69kyPySLlMZkm74IFPAaMVtXD7Y0UXdLkCHgdcAdwg6T9/f9+1NJc0RFNFin/K6AWZ4kOyichYZUAwyoBhtVA14j+1nf+x86d+we5y4EYtjWr23Su17/OETCsEmBYJcCwSoBhlQDDKgGGVQIMqwQYVgkwrBJgWCXAsEqAYZUAwyoBhlUCDKsEGFYJMKwSYFgN9JL8t/6+oJVLvIftEvhzfdn6+SxHwLBKgGGVAMMqAYZVAgyrxgFKGpH0qqTn2xgouqWNI+C99NaHjpixpiukLgVuAba0M050TdMj4CPA/cBnZ3uApI2S9kjac4pPG+4uzjdNluhdCxyvqr2TPS5rRMdkmi7Re6ukd4Cn6S3V+2QrU0VnNPmimgeqamlVLQfWAy9V1YbWJotOyO8Bw6qVq2Gq6hXglTaeK7olR8CwSoBhlQDDKgGGVQIMqwQYVgkwrBJgWCXAsEqAYZUAwyoBhlUCDKsEGFYJMKwSYFglwLBKgGGVAMMqAYZVAgyrBBhWCTCsEmBYJcCwSoBhlQDDqukKqZdI2i7pDUmjkq5ta7DohqaLE/0G+ENV/VjSPGBBCzNFh8w6QEkXA9cDPwGoqpPAyXbGiq5o8hK8AjgBPN7/moYtkhZOfFDWiI7JNAlwDnA18GhVrQI+ATZNfFDWiI7JNAlwDBirql39+9vpBRkxbU3WiD4GHJG0sr9pDXCwlamiM5q+C74H2NZ/B3wYuKv5SNEljQKsqv3A6nZGiS7KJyFhlQDDKgGGVSvfExLDZ+cH+90jfMHIojNvzxEwrBJgWCXAsEqAYZUAwyoBhlUCDKsEGFYJMKwSYFglwLBKgGGVAMMqAYZVAgyrBBhWCTCsckV0C4bt6uM23bT4qpae6dAZt+YIGFYJMKwSYFglwLBKgGHVdI3on0s6IOl1SU9Jmt/WYNENsw5Q0hLgZ8Dqqvo2MAKsb2uw6IamL8FzgK9KmkNvgfIPmo8UXdJkgcr3gV8D7wFHgf9W1R8nPi5rRMdkmrwEXwqso7dY+WJgoaQNEx+XNaJjMk1egn8A/KOqTlTVKeBZ4PvtjBVd0STA94DvSVogSfTWiB5tZ6zoiibngLvorYy/D3it/1ybW5orOqLpGtEPAg+2NEt0UD4JCasEGFYJMKy+lFdEt3eVbrjlCBhWCTCsEmBYJcCwSoBhlQDDKgGGVQIMqwQYVgkwrBJgWCXAsEqAYZUAwyoBhlUCDKsEGFYJMKwSYFglwLBKgGGVAMMqAYbVlAFK2irpuKTXx237uqQXJL3d//PScztmnK+mcwT8HXDzhG2bgBer6grgxf79iBmbMsCq+jPwrwmb1wFP9G8/AdzW7ljRFbM9B7y8qo72bx8DLm9pnuiYxm9CqqqAOtvPs0h5TGa2Af5T0iKA/p/Hz/bALFIek5ltgM8Bd/Zv3wn8vp1xomum82uYp4C/ASsljUn6KfAQcKOkt+mtlv/QuR0zzldTrg9YVbef5UdrWp4lOiifhIRVAgyrBBhWCTCsEmBYJcCwSoBhlQDDKgGGVQIMqwQYVgkwrBJgWCXAsEqAYZUAwyoBhlUCDKsEGFYJMKwSYFglwLBSb2WNAe1MOgG8O8XDvgF8OIBxpivzTG06M32zqi6buHGgAU6HpD1Vtdo9x+cyz9SazJSX4LBKgGE1jAFudg8wQeaZ2qxnGrpzwOiWYTwCRockwLAamgAl3SzpTUmHJNlX3Ze0TNLLkg5KOiDpXvdMAJJGJL0q6fkhmOUSSdslvSFpVNK1M36OYTgHlDQCvAXcCIwBu4Hbq+qgcaZFwKKq2ifpImAvcJtzpv5cvwBWA1+rqrXmWZ4A/lJVWyTNAxZU1X9m8hzDcgS8BjhUVYer6iTwNL2vgrCpqqNVta9/+2NgFFjinEnSUuAWYItzjv4sFwPXA48BVNXJmcYHwxPgEuDIuPtjmP+xx5O0HFgF7DKP8ghwP/CZeQ6AFcAJ4PH+KcEWSQtn+iTDEuDQknQh8AxwX1V9ZJxjLXC8qva6ZphgDnA18GhVrQI+YRbfmDUsAb4PLBt3f2l/m5WkufTi21ZVz5rHuQ64VdI79E5RbpD0pHGeMWCsqj5/VdhOL8gZGZYAdwNXSFrRP5ldT++rIGwkid75zWhVPeycBaCqHqiqpVW1nN7fz0tVtcE4zzHgiKSV/U1rgBm/QZtylfxBqKrTku4GdgIjwNaqOmAe6zrgDuA1Sfv7235VVTt8Iw2de4Bt/YPGYeCumT7BUPwaJrprWF6Co6MSYFglwLBKgGGVAMMqAYZVAgyr/wNari3hZhmhsgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#从左到右扫描，临近列比较\n",
    "tmp=line[0]\n",
    "pre=tmp[:,0]\n",
    "begin=1\n",
    "temp=[]\n",
    "for i in range(1,len(tmp[0])):\n",
    "    j=tmp[:,i]\n",
    "    if (j==0).all() or not ((pre+j)>255).any():#是分割点(全0或者与前一行无重叠)\n",
    "        if (i-begin>5):#是字符\n",
    "            temp.append(tmp[:,begin:i])\n",
    "        begin=i\n",
    "    pre=j\n",
    "assert len(temp)==7\n",
    "plt.imshow(temp[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 整合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "ename": "AssertionError",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAssertionError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_18356/2000592995.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[1;32massert\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcols\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m==\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      3\u001b[0m \u001b[1;31m#对于粘连字母分割不是很好\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[1;32massert\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcols\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m==\u001b[0m\u001b[1;36m62\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAssertionError\u001b[0m: "
     ]
    }
   ],
   "source": [
    "cols=all.split_simple()\n",
    "assert len(cols)==1\n",
    "#对于粘连字母分割不是很好\n",
    "assert len(cols[0])==62"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 30 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "showall(cols[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "verticalProjection(cols[0][10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1440x144 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "verticalProjection(all.bin,(20,2)) #对连续粘连的字符没有好的处理方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 滑动分割，可参考[美团团队文章](https://tech.meituan.com/2018/06/29/deep-learning-ocr.html)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 测试ocr模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#训练\n",
    "!python ocr.py tran"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#预测\n",
    "!python ocr.py predict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 读取识别模型\n",
    "import tensorflow as tf\n",
    "modelpath=\"./ocrdata/model\"\n",
    "model=tf.keras.models.load_model(modelpath)\n",
    "#向量\n",
    "texts=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"\n",
    "#灰度\n",
    "gray=np.mean(all.img,-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 0.99988806\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x2350f39bfa0>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#偏移量变量 滑动预测\n",
    "offset=1\n",
    "# img=gray[1:10,9:16]\n",
    "img=gray[1:13,offset:offset+7]\n",
    "# img=tf.image.resize(tf.constant(gray[1:10,9:16])[tf.newaxis, ..., tf.newaxis],[12,7])[0,...,0].numpy()\n",
    "vector=model.predict((np.expand_dims(img,0)))\n",
    "index=np.argmax(vector)\n",
    "print(texts[index],vector[0][index])\n",
    "plt.imshow(img)\n",
    "#训练了量不足导致误判"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 重新训练"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\biewang\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:240: RuntimeWarning: Glyph 25968 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "C:\\Users\\biewang\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:240: RuntimeWarning: Glyph 25454 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "C:\\Users\\biewang\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:240: RuntimeWarning: Glyph 38598 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "C:\\Users\\biewang\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:203: RuntimeWarning: Glyph 25968 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "C:\\Users\\biewang\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:203: RuntimeWarning: Glyph 25454 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "C:\\Users\\biewang\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:203: RuntimeWarning: Glyph 38598 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1440x360 with 63 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#生成训练集\n",
    "#切割\n",
    "interval=1#定义间隔\n",
    "length=len(texts)\n",
    "width=(all.bin.shape[1]-(length+1)*interval)//length#平分长度\n",
    "width_with_interval=width+interval\n",
    "#分割\n",
    "boxs=[(i*(width_with_interval)+interval,interval,i*(width_with_interval)+interval+width,all.bin.shape[0]-interval) for i in range(length)]#获取分割数据\n",
    "images=np.array([all.bin[box[1]:box[3],box[0]:box[2]] for box in boxs])\n",
    "\n",
    "\n",
    "#显示\n",
    "plt.figure(figsize=(20,5))\n",
    "ax1=plt.subplot2grid((2,length),(0,0),colspan=length)\n",
    "ax1.imshow(all.bin)\n",
    "ax1.set(title=\"数据集\")\n",
    "for i,image in enumerate(images):\n",
    "    ax2=plt.subplot2grid((2,length),(1,i))\n",
    "    ax2.axis('off')\n",
    "    ax2.set(title=texts[i])\n",
    "    ax2.imshow(image)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 使用手写数据集测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "\n",
    "from tensorflow.keras.layers import Dense, Flatten, Conv2D\n",
    "from tensorflow.keras import Model\n",
    "mnist = tf.keras.datasets.mnist\n",
    "\n",
    "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n",
    "x_train, x_test = x_train / 255.0, x_test / 255.0\n",
    "\n",
    "# Add a channels dimension\n",
    "x_train = x_train[..., tf.newaxis].astype(\"float32\")\n",
    "x_test = x_test[..., tf.newaxis].astype(\"float32\")\n",
    "train_ds = tf.data.Dataset.from_tensor_slices(\n",
    "    (x_train, y_train)).shuffle(10000).batch(32)\n",
    "\n",
    "test_ds = tf.data.Dataset.from_tensor_slices((x_test, y_test)).batch(32)\n",
    "\n",
    "class MyModel(Model):\n",
    "  def __init__(self):\n",
    "    super(MyModel, self).__init__()\n",
    "    self.conv1 = Conv2D(32, 3, activation='relu')\n",
    "    self.flatten = Flatten()\n",
    "    self.d1 = Dense(128, activation='relu')\n",
    "    self.d2 = Dense(10)\n",
    "\n",
    "  def call(self, x):\n",
    "    x = self.conv1(x)\n",
    "    x = self.flatten(x)\n",
    "    x = self.d1(x)\n",
    "    return self.d2(x)\n",
    "\n",
    "# Create an instance of the model\n",
    "model = MyModel()\n",
    "loss_object = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)\n",
    "\n",
    "optimizer = tf.keras.optimizers.Adam()\n",
    "train_loss = tf.keras.metrics.Mean(name='train_loss')\n",
    "train_accuracy = tf.keras.metrics.SparseCategoricalAccuracy(name='train_accuracy')\n",
    "\n",
    "test_loss = tf.keras.metrics.Mean(name='test_loss')\n",
    "test_accuracy = tf.keras.metrics.SparseCategoricalAccuracy(name='test_accuracy')\n",
    "@tf.function\n",
    "def train_step(images, labels):\n",
    "  with tf.GradientTape() as tape:\n",
    "    # training=True is only needed if there are layers with different\n",
    "    # behavior during training versus inference (e.g. Dropout).\n",
    "    predictions = model(images, training=True)\n",
    "    loss = loss_object(labels, predictions)\n",
    "  gradients = tape.gradient(loss, model.trainable_variables)\n",
    "  optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n",
    "\n",
    "  train_loss(loss)\n",
    "  train_accuracy(labels, predictions)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1, Loss: 0.13316091895103455, Accuracy: 96.0133285522461, Test Loss: 0.055468179285526276, Test Accuracy: 98.18000030517578\n",
      "Epoch 2, Loss: 0.042948465794324875, Accuracy: 98.65666961669922, Test Loss: 0.05255480855703354, Test Accuracy: 98.27999877929688\n",
      "Epoch 3, Loss: 0.021918272599577904, Accuracy: 99.28333282470703, Test Loss: 0.05569923669099808, Test Accuracy: 98.25\n",
      "Epoch 4, Loss: 0.01239212416112423, Accuracy: 99.60333251953125, Test Loss: 0.06312014162540436, Test Accuracy: 98.25999450683594\n",
      "Epoch 5, Loss: 0.008488996885716915, Accuracy: 99.71500396728516, Test Loss: 0.06509328633546829, Test Accuracy: 98.27999877929688\n",
      "Epoch 6, Loss: 0.007558862678706646, Accuracy: 99.75666046142578, Test Loss: 0.06880709528923035, Test Accuracy: 98.33999633789062\n",
      "Epoch 7, Loss: 0.005484464578330517, Accuracy: 99.80333709716797, Test Loss: 0.08250585943460464, Test Accuracy: 98.0999984741211\n",
      "Epoch 8, Loss: 0.003675842424854636, Accuracy: 99.88333892822266, Test Loss: 0.07050123065710068, Test Accuracy: 98.68000030517578\n",
      "Epoch 9, Loss: 0.005365098360925913, Accuracy: 99.82833099365234, Test Loss: 0.09178320318460464, Test Accuracy: 98.18000030517578\n",
      "Epoch 10, Loss: 0.0034167934209108353, Accuracy: 99.88666534423828, Test Loss: 0.08303456753492355, Test Accuracy: 98.3699951171875\n"
     ]
    }
   ],
   "source": [
    "@tf.function\n",
    "def test_step(images, labels):\n",
    "  # training=False is only needed if there are layers with different\n",
    "  # behavior during training versus inference (e.g. Dropout).\n",
    "  predictions = model(images, training=False)\n",
    "  t_loss = loss_object(labels, predictions)\n",
    "\n",
    "  test_loss(t_loss)\n",
    "  test_accuracy(labels, predictions)\n",
    "EPOCHS = 5\n",
    "\n",
    "for epoch in range(EPOCHS):\n",
    "  # Reset the metrics at the start of the next epoch\n",
    "  train_loss.reset_states()\n",
    "  train_accuracy.reset_states()\n",
    "  test_loss.reset_states()\n",
    "  test_accuracy.reset_states()\n",
    "\n",
    "  for images, labels in train_ds:\n",
    "    train_step(images, labels)\n",
    "\n",
    "  for test_images, test_labels in test_ds:\n",
    "    test_step(test_images, test_labels)\n",
    "\n",
    "  print(\n",
    "    f'Epoch {epoch + 1}, '\n",
    "    f'Loss: {train_loss.result()}, '\n",
    "    f'Accuracy: {train_accuracy.result() * 100}, '\n",
    "    f'Test Loss: {test_loss.result()}, '\n",
    "    f'Test Accuracy: {test_accuracy.result() * 100}'\n",
    "  )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "答案 4\n",
      "概率 [[-26.302946   -0.9645065  -3.3461301 -20.546295   24.410324  -19.97864\n",
      "  -18.381367   -6.6808314 -11.01221    -3.1024318]]\n",
      "预测 4\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x2351085b310>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "index=2\n",
    "img=x_train[index]\n",
    "print(\"答案\",y_train[index])\n",
    "res=model.predict((np.expand_dims(img,0)))\n",
    "print(\"概率\",res)\n",
    "index=np.argmax(res)\n",
    "print(\"预测\",index)\n",
    "plt.imshow(img)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "l=(images/255)[..., tf.newaxis].astype(\"float32\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x2350fc8b3a0>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(l[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#利用手写模型对机打字进行预测\n",
    "index=3\n",
    "(x,y,z)=l[index].shape\n",
    "w=(28-x)//2\n",
    "h=(28-y)//2\n",
    "img=np.pad(l[index],((w,28-w-x),(h,28-h-y),(0,0)),'constant')\n",
    "plt.imshow(img)\n",
    "index=np.argmax(model.predict((np.expand_dims(img,0))))\n",
    "print(index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [],
   "source": [
    "# #滑动预测\n",
    "# import ipywidgets as widgets\n",
    "# %matplotlib notebook\n",
    "# class SliderReader(widgets.VBox):\n",
    "#     def __init__(self):\n",
    "#         super().__init__()\n",
    "#         self.IntSlider1=widgets.IntSlider(value=0,min=0,max=9,layout=widgets.Layout(width='100%'),step=1,description='滑窗12*7:')\n",
    "#         self.IntSlider2=widgets.IntSlider(value=0,min=0,max=9,layout=widgets.Layout(width='100%'),step=1,description='缩放:')\n",
    "#         # self.img=widgets.Image(value=None,format='png',width=300,height=400)\n",
    "#         self.output=widgets.Output(layout={'border': '1px solid black'})\n",
    "#         self.fig = plt.figure()\n",
    "#         self.ax = self.fig.add_subplot(1, 1, 1)\n",
    "#         self.children=[self.IntSlider1,self.IntSlider2,self.output]\n",
    "#         self.IntSlider1.observe(self.slider,names='value')\n",
    "#     def render(self):\n",
    "#         self.ax.imshow(img)\n",
    "#         self.fig.canvas.draw()\n",
    "#     def slider(self,event):\n",
    "#         (x,y,z)=l[event.new].shape\n",
    "#         w=(28-x)//2\n",
    "#         h=(28-y)//2\n",
    "#         img=np.pad(l[i],((w,28-w-x),(h,28-h-y),(0,0)),'constant')\n",
    "#         res=model.predict((np.expand_dims(img,0)))\n",
    "#         index=np.argmax(res)\n",
    "#         print(\"选择%s\"%i,\"识别为%s\"%index,\"置信率%s\"%res[0][index])\n",
    "#         # with self.output:\n",
    "#         self.ax.imshow(img)\n",
    "#         self.fig.canvas.draw()\n",
    "# s=SliderReader()\n",
    "# widgets.interact(s.render)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 170,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d16f7ab0f1c647fa8a5a9352929c1674",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=0, description='滑窗12*7:', layout=Layout(width='100%'), max=9), IntSlider…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<function __main__.update(index, scale)>"
      ]
     },
     "execution_count": 170,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAANT0lEQVR4nO3cYYjkd33H8ffHO1NpjKb0VpC706T00njYQtIlTRFqirZc8uDugUXuIFgleGAbKVWEFEuU+MiGWhCu1ZOKVdAYfSALntwDjQTEC7chNXgXItvTeheFrDHNk6Ax7bcPZtKdrneZf3Zndy/7fb/gYP7/+e3Mlx97752d2ZlUFZKk7e8VWz2AJGlzGHxJasLgS1ITBl+SmjD4ktSEwZekJqYGP8lnkzyZ5PuXuD5JPplkKcmjSW6c/ZiSpPUa8gj/c8CBF7n+VmDf+N9R4F/WP5YkadamBr+qHgR+/iJLDgGfr5FTwNVJXj+rASVJs7FzBrexGzg/cXxhfO6nqxcmOcrotwCuvPLKP7z++utncPeS1MfDDz/8s6qaW8vXziL4g1XVceA4wPz8fC0uLm7m3UvSy16S/1zr187ir3SeAPZOHO8Zn5MkXUZmEfwF4F3jv9a5GXimqn7t6RxJ0taa+pROki8BtwC7klwAPgK8EqCqPgWcAG4DloBngfds1LCSpLWbGvyqOjLl+gL+emYTSZI2hO+0laQmDL4kNWHwJakJgy9JTRh8SWrC4EtSEwZfkpow+JLUhMGXpCYMviQ1YfAlqQmDL0lNGHxJasLgS1ITBl+SmjD4ktSEwZekJgy+JDVh8CWpCYMvSU0YfElqwuBLUhMGX5KaMPiS1ITBl6QmDL4kNWHwJakJgy9JTRh8SWrC4EtSEwZfkpow+JLUhMGXpCYMviQ1YfAlqYlBwU9yIMnjSZaS3HWR69+Q5IEkjyR5NMltsx9VkrQeU4OfZAdwDLgV2A8cSbJ/1bK/B+6vqhuAw8A/z3pQSdL6DHmEfxOwVFXnquo54D7g0Ko1BbxmfPm1wE9mN6IkaRaGBH83cH7i+ML43KSPArcnuQCcAN5/sRtKcjTJYpLF5eXlNYwrSVqrWb1oewT4XFXtAW4DvpDk1267qo5X1XxVzc/Nzc3oriVJQwwJ/hPA3onjPeNzk+4A7geoqu8CrwJ2zWJASdJsDAn+aWBfkmuTXMHoRdmFVWt+DLwNIMmbGAXf52wk6TIyNfhV9TxwJ3ASeIzRX+OcSXJPkoPjZR8E3pvke8CXgHdXVW3U0JKkl27nkEVVdYLRi7GT5+6euHwWeMtsR5MkzZLvtJWkJgy+JDVh8CWpCYMvSU0YfElqwuBLUhMGX5KaMPiS1ITBl6QmDL4kNWHwJakJgy9JTRh8SWrC4EtSEwZfkpow+JLUhMGXpCYMviQ1YfAlqQmDL0lNGHxJasLgS1ITBl+SmjD4ktSEwZekJgy+JDVh8CWpCYMvSU0YfElqwuBLUhMGX5KaMPiS1ITBl6QmDL4kNTEo+EkOJHk8yVKSuy6x5p1JziY5k+SLsx1TkrReO6ctSLIDOAb8GXABOJ1koarOTqzZB/wd8JaqejrJ6zZqYEnS2gx5hH8TsFRV56rqOeA+4NCqNe8FjlXV0wBV9eRsx5QkrdeQ4O8Gzk8cXxifm3QdcF2S7yQ5leTAxW4oydEki0kWl5eX1zaxJGlNZvWi7U5gH3ALcAT4TJKrVy+qquNVNV9V83NzczO6a0nSEEOC/wSwd+J4z/jcpAvAQlX9qqp+CPyA0Q8ASdJlYkjwTwP7klyb5ArgMLCwas3XGD26J8kuRk/xnJvdmJKk9Zoa/Kp6HrgTOAk8BtxfVWeS3JPk4HjZSeCpJGeBB4APVdVTGzW0JOmlS1VtyR3Pz8/X4uLilty3JL1cJXm4qubX8rW+01aSmjD4ktSEwZekJgy+JDVh8CWpCYMvSU0YfElqwuBLUhMGX5KaMPiS1ITBl6QmDL4kNWHwJakJgy9JTRh8SWrC4EtSEwZfkpow+JLUhMGXpCYMviQ1YfAlqQmDL0lNGHxJasLgS1ITBl+SmjD4ktSEwZekJgy+JDVh8CWpCYMvSU0YfElqwuBLUhMGX5KaMPiS1ITBl6QmBgU/yYEkjydZSnLXi6x7R5JKMj+7ESVJszA1+El2AMeAW4H9wJEk+y+y7irgb4CHZj2kJGn9hjzCvwlYqqpzVfUccB9w6CLrPgZ8HPjFDOeTJM3IkODvBs5PHF8Yn/s/SW4E9lbV11/shpIcTbKYZHF5efklDytJWrt1v2ib5BXAJ4APTltbVcerar6q5ufm5tZ715Kkl2BI8J8A9k4c7xmfe8FVwJuBbyf5EXAzsOALt5J0eRkS/NPAviTXJrkCOAwsvHBlVT1TVbuq6pqqugY4BRysqsUNmViStCZTg19VzwN3AieBx4D7q+pMknuSHNzoASVJs7FzyKKqOgGcWHXu7kusvWX9Y0mSZs132kpSEwZfkpow+JLUhMGXpCYMviQ1YfAlqQmDL0lNGHxJasLgS1ITBl+SmjD4ktSEwZekJgy+JDVh8CWpCYMvSU0YfElqwuBLUhMGX5KaMPiS1ITBl6QmDL4kNWHwJakJgy9JTRh8SWrC4EtSEwZfkpow+JLUhMGXpCYMviQ1YfAlqQmDL0lNGHxJasLgS1ITBl+SmhgU/CQHkjyeZCnJXRe5/gNJziZ5NMk3k7xx9qNKktZjavCT7ACOAbcC+4EjSfavWvYIMF9VfwB8FfiHWQ8qSVqfIY/wbwKWqupcVT0H3AccmlxQVQ9U1bPjw1PAntmOKUlaryHB3w2cnzi+MD53KXcA37jYFUmOJllMsri8vDx8SknSus30RdsktwPzwL0Xu76qjlfVfFXNz83NzfKuJUlT7Byw5glg78TxnvG5/yfJ24EPA2+tql/OZjxJ0qwMeYR/GtiX5NokVwCHgYXJBUluAD4NHKyqJ2c/piRpvaYGv6qeB+4ETgKPAfdX1Zkk9yQ5OF52L/Bq4CtJ/j3JwiVuTpK0RYY8pUNVnQBOrDp398Tlt894LknSjPlOW0lqwuBLUhMGX5KaMPiS1ITBl6QmDL4kNWHwJakJgy9JTRh8SWrC4EtSEwZfkpow+JLUhMGXpCYMviQ1YfAlqQmDL0lNGHxJasLgS1ITBl+SmjD4ktSEwZekJgy+JDVh8CWpCYMvSU0YfElqwuBLUhMGX5KaMPiS1ITBl6QmDL4kNWHwJakJgy9JTRh8SWrC4EtSEwZfkpoYFPwkB5I8nmQpyV0Xuf43knx5fP1DSa6Z+aSSpHWZGvwkO4BjwK3AfuBIkv2rlt0BPF1Vvwv8E/DxWQ8qSVqfIY/wbwKWqupcVT0H3AccWrXmEPBv48tfBd6WJLMbU5K0XjsHrNkNnJ84vgD80aXWVNXzSZ4Bfhv42eSiJEeBo+PDXyb5/lqG3oZ2sWqvGnMvVrgXK9yLFb+31i8cEvyZqarjwHGAJItVNb+Z93+5ci9WuBcr3IsV7sWKJItr/dohT+k8AeydON4zPnfRNUl2Aq8FnlrrUJKk2RsS/NPAviTXJrkCOAwsrFqzAPzl+PJfAN+qqprdmJKk9Zr6lM74Ofk7gZPADuCzVXUmyT3AYlUtAP8KfCHJEvBzRj8Upjm+jrm3G/dihXuxwr1Y4V6sWPNexAfiktSD77SVpCYMviQ1seHB92MZVgzYiw8kOZvk0STfTPLGrZhzM0zbi4l170hSSbbtn+QN2Ysk7xx/b5xJ8sXNnnGzDPg/8oYkDyR5ZPz/5LatmHOjJflskicv9V6ljHxyvE+PJrlx0A1X1Yb9Y/Qi738AvwNcAXwP2L9qzV8BnxpfPgx8eSNn2qp/A/fiT4HfHF9+X+e9GK+7CngQOAXMb/XcW/h9sQ94BPit8fHrtnruLdyL48D7xpf3Az/a6rk3aC/+BLgR+P4lrr8N+AYQ4GbgoSG3u9GP8P1YhhVT96KqHqiqZ8eHpxi952E7GvJ9AfAxRp/L9IvNHG6TDdmL9wLHquppgKp6cpNn3CxD9qKA14wvvxb4ySbOt2mq6kFGf/F4KYeAz9fIKeDqJK+fdrsbHfyLfSzD7kutqarngRc+lmG7GbIXk+5g9BN8O5q6F+NfUfdW1dc3c7AtMOT74jrguiTfSXIqyYFNm25zDdmLjwK3J7kAnADevzmjXXZeak+ATf5oBQ2T5HZgHnjrVs+yFZK8AvgE8O4tHuVysZPR0zq3MPqt78Ekv19V/7WVQ22RI8Dnquofk/wxo/f/vLmq/merB3s52OhH+H4sw4ohe0GStwMfBg5W1S83abbNNm0vrgLeDHw7yY8YPUe5sE1fuB3yfXEBWKiqX1XVD4EfMPoBsN0M2Ys7gPsBquq7wKsYfbBaN4N6stpGB9+PZVgxdS+S3AB8mlHst+vztDBlL6rqmaraVVXXVNU1jF7POFhVa/7QqMvYkP8jX2P06J4kuxg9xXNuE2fcLEP24sfA2wCSvIlR8Jc3dcrLwwLwrvFf69wMPFNVP532RRv6lE5t3McyvOwM3It7gVcDXxm/bv3jqjq4ZUNvkIF70cLAvTgJ/HmSs8B/Ax+qqm33W/DAvfgg8Jkkf8voBdx3b8cHiEm+xOiH/K7x6xUfAV4JUFWfYvT6xW3AEvAs8J5Bt7sN90qSdBG+01aSmjD4ktSEwZekJgy+JDVh8CWpCYMvSU0YfElq4n8BzPZculjwdYoAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "#生成图片集\n",
    "#切割\n",
    "interval=1#定义间隔\n",
    "width=(all.bin.shape[1]-(length+1)*interval)//length#平分长度\n",
    "width_with_interval=width+interval\n",
    "#分割\n",
    "boxs=[(i*(width_with_interval)+interval,interval,i*(width_with_interval)+interval+width,all.bin.shape[0]-interval) for i in range(length)]#获取分割数据\n",
    "temp=np.array(all.img)\n",
    "images=np.array([temp[box[1]:box[3],box[0]:box[2]] for box in boxs])\n",
    "def update(index,scale):\n",
    "    fig = plt.figure()\n",
    "    ax = fig.add_subplot(1, 1, 1)\n",
    "    tmp=images[index]\n",
    "    (x,y,z)=tmp.shape\n",
    "    x= scale if x+scale>28 else x+scale\n",
    "    y= scale if y+scale>28 else y+scale\n",
    "    tmp=np.array(Image.fromarray(tmp).resize((x,y)))\n",
    "    tmp=np.where(np.mean(tmp,-1)[...,:] < 130, 0, 255) \n",
    "    (x,y)=tmp.shape\n",
    "    w=(28-x)//2\n",
    "    h=(28-y)//2\n",
    "    img=np.pad(tmp,((w,28-w-x),(h,28-h-y),(0,0)),'constant')\n",
    "    res=model.predict((np.expand_dims(img,0)))\n",
    "    index=np.argmax(res)\n",
    "    print(\"选择%s\"%i,\"识别为%s\"%index,\"置信率%s\"%res[0][index])\n",
    "    ax.imshow(img)\n",
    "    fig.canvas.draw()\n",
    "widgets.interact(update,index=widgets.IntSlider(value=0,min=0,max=9,layout=widgets.Layout(width='100%'),step=1,description='滑窗12*7:'),scale=widgets.IntSlider(value=0,min=0,max=9,layout=widgets.Layout(width='100%'),step=1,description='缩放:'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "Cannot handle this data type: (1, 1, 1), <f4",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m~\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\PIL\\Image.py\u001b[0m in \u001b[0;36mfromarray\u001b[1;34m(obj, mode)\u001b[0m\n\u001b[0;32m   2827\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2828\u001b[1;33m             \u001b[0mmode\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrawmode\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_fromarray_typemap\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtypekey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2829\u001b[0m         \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: ((1, 1, 1), '<f4')",
      "\nThe above exception was the direct cause of the following exception:\n",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_18356/2321368663.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[0mh\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m28\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m//\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m \u001b[0mn\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m3\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0mImage\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfromarray\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtemp\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      7\u001b[0m \u001b[1;31m# plt.imshow(np.array(Image.fromarray(temp).resize(4,4)))\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      8\u001b[0m \u001b[1;31m# np.ones([n,n],dtype=int)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\PIL\\Image.py\u001b[0m in \u001b[0;36mfromarray\u001b[1;34m(obj, mode)\u001b[0m\n\u001b[0;32m   2828\u001b[0m             \u001b[0mmode\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrawmode\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_fromarray_typemap\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtypekey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2829\u001b[0m         \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2830\u001b[1;33m             \u001b[1;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Cannot handle this data type: %s, %s\"\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mtypekey\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2831\u001b[0m     \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2832\u001b[0m         \u001b[0mrawmode\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmode\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mTypeError\u001b[0m: Cannot handle this data type: (1, 1, 1), <f4"
     ]
    }
   ],
   "source": [
    "temp=l[1]\n",
    "(x,y,z)=temp.shape\n",
    "w=(28-x)//2\n",
    "h=(28-y)//2\n",
    "n=3\n",
    "\n",
    "# plt.imshow(np.array(Image.fromarray(temp).resize(4,4)))\n",
    "# np.ones([n,n],dtype=int)\n",
    "# plt.imshow(np.pad(temp,((w,28-w-x),(h,28-h-y),(0,0)),'constant',1))\n",
    "# plt.imshow(np.array())\n",
    "# temp.resize((5,5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.2820888539868154"
      ]
     },
     "execution_count": 136,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x**n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3b56f05d0aa649bba7a963e28c3618d9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(IntSlider(value=0, description='滑窗12*7:', layout=Layout(width='100%'), max=490), Output(…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<function __main__.slider(i)>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#滑动预测\n",
    "import ipywidgets as widgets\n",
    "%matplotlib inline\n",
    "def slider(i):\n",
    "    offset=i\n",
    "    width=7\n",
    "    img=tf.image.resize(tf.constant(all.bin[1:-1,offset:offset+width])[tf.newaxis, ..., tf.newaxis],[12,7])[0,...,0].numpy()\n",
    "    img=np.where(img < 130, 0, 255)\n",
    "    res=model.predict((np.expand_dims(img,0)))\n",
    "    index=np.argmax(res)\n",
    "    fig = plt.figure()\n",
    "    print(\"滑动%s像素\"%offset,\"识别为%s\"%texts[index],\"置信率%s\"%res[0][index])\n",
    "    ax = fig.add_subplot(1, 1, 1)\n",
    "    ax.imshow(img)\n",
    "    fig.canvas.draw()\n",
    "widgets.interact(slider,i=widgets.IntSlider(\n",
    "    value=0,\n",
    "    min=0,\n",
    "    max=all.bin.shape[1]-width,\n",
    "    layout=widgets.Layout(width='100%'),\n",
    "    step=1,\n",
    "    description='滑窗12*7:'\n",
    "))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 313,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a5ead3d77bc4499ba39ebd7e1a9db7c8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(FloatSlider(value=1.0, description='w', max=3.0, min=-1.0), Output()), _dom_classes=('wi…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<function __main__.update(w=1.0)>"
      ]
     },
     "execution_count": 313,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = np.linspace(0, 2 * np.pi)\n",
    "\n",
    "def update(w = 1.0):\n",
    "    fig = plt.figure()\n",
    "    ax = fig.add_subplot(1, 1, 1)\n",
    "    ax.plot(x, np.sin(w * x))\n",
    "\n",
    "    fig.canvas.draw()\n",
    "\n",
    "widgets.interact(update);\n"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "586c3cdf86f3a3a1181be60287eeea244d671c39d2199c05edac4d89c647599f"
  },
  "kernelspec": {
   "display_name": "Python 3.9.6 64-bit",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
